Efim Grinkrug - Associate Professor, Software Management Department, School of Software Engineering, Faculty of Business Informatics, National Research University Higher School of Economics. Address: 20, Myasnitskaya str., Moscow, 101000, Russian Federation. E-mail: egrinkrug@hse.ru
The paper presents a component-oriented software architecture implemented for the Java-platform and to support event-driven calculations. The component model used extends standard JavaBeans component model’s dynamic capabilities and supports composite components composition at runtime without code generation. It has been shown that in the standard JavaBeans component model the dynamic component composition is associated with a shift from the object-oriented programming used to develop basic components to the prototype-based programming style when dealing with composite components. A generalized concept of object type has been proposed that enables to operate uniformly both with the basic components and with the components composed dynamically. The implementation of the object type generalization proposed relies on the additional virtualization level that provides an execution environment for software components defined in accordance with the component model described. Different implementation details for object types the environment operates with are considered along with operations it provides. The method to create composite components dynamically involving transformation of the composite prototype into the instantiable type of composite objects has been proposed. Composite components instantiations enable more efficient (in terms of time and memory space) applications functioning in contrast to composite prototypes cloning. The dynamically defined composite components can be used in object-oriented manner along with basic components both to implement applications functionality and as elements of composite prototypes compositions to be transformed into new composite components. The proposed component based architecture can be used to support user defined types implementations in declarative modeling languages.
Citation:
Grinkrug E. (2014) Prototipy i tipy sostavnykh ob"ektov v komponentno-orientirovannoy arkhitekture [Composed prototypes and types in a component-oriented architecture ]. Biznes-informatika, no 2 (28), pp. 24-32 (in Russian)